#include <iostream>
#include <map>
using namespace std;
/**
 * @brief 商店排名
 * 女孩 dandelion 经常去购物,她特别喜欢一家叫“memory”的商店。由于春节快到了,所有商店的价格每天都在上涨。
 * 她想知道这家商店每天的价格排名。
 * 输入：
 * 第1 行是数字n(n≤10 000),代表商店的数量。后面n行,每行有一个字符串
 * (长度小于31,只包含小写字母和大写字母),表示商店的名称。
 * 然后一行是数字m(1≤m≤50),表示天数。后面有m部分,每部分有n行,每行是数字s和一个字符串p,表示商店p在这一天涨价s。
 * 输出：
 * 包含m行,第i行显示第i天后店铺"memory”的排名。排名的定义为如果有t个商店的价格高于“memory”,那么它的排名是t+1。
 * @return int 
 */
int main(){
    int n, m, p;
    map<string, int> shop;
    while(cin>>n){
        string s;
        //输入商店名字，实际上用不着处理
        for(int i = 1; i <= n; i++) cin>>s;
        cin>>m;
        while(m--){
            for(int i = 1; i <= n; i++){
                cin>>p>>s;
                //商店加上价格
                shop[s] += p;
            }
            int rank = 1;
            map<string, int>::iterator it;
            for(it = shop.begin(); it != shop.end(); it++){
                //比较价格
                if(it->second > shop["memory"]) rank++;
            }
            cout<<rank<<endl;
        }
        shop.clear();
    }
}